package io;

import java.io.*;

/**
 * 缓冲流：是一对高级流，作用是加快读写效率
 * 1)BufferedInputStream:缓冲输入流
 * 2)BufferedOutputStream:缓冲输出流
 * 缓冲流读写效率快得原因：
 * 1)缓冲流的内部有一个8KB的字节数组，
 *    你看着是一个字节一字节的读写，但缓冲流底层已经
 *
 */
public class CopyDemo3Buffered {
    public static void main(String[] args) throws IOException {
      FileInputStream fis = new FileInputStream("wkj.jpg");
        BufferedInputStream bis = new BufferedInputStream(fis);
        FileOutputStream fos = new FileOutputStream("wkj_cp2.jpg");
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        long start = System.currentTimeMillis();
        int d;
        while((d=bis.read())!=-1){ //使用缓冲流读取字节
            bos.write(d); //使用缓冲流写出字节
        }
        long end = System.currentTimeMillis();
        System.out.println("复制完毕，耗时："+(end-start)+"ms");
        bis.close();
        bos.close();
    }
}
